大家好,我是伐伐伐伐木工
監控與可觀測性定義,兩者有什麼不同呢 ?
今天要與大家分享 DevOps & Observability,本篇內容的重點如下
過去幾年商業上的變化與數位轉型速度不斷加速,為了有效了解與管理系統的狀態,公司必須有正確的工具和方法,監控作法已在過去十幾年普遍使用,在今天仍然重要在可用性上佔有一席之地,但對於分散式系統或是團隊來說,監控仍有明顯的限制。
在雲端(Cloud)平台、容器技術化的普及與架構拆分更細的前提下,很多企業使用雲端原生(Cloud Native)技術來時間靈活性與敏捷性,來反映及面對市場上快速的變化。這對於傳統的監控方式太複雜了,造成可能會有下列問題
數據差距 : 傳統監控工具可能只能對數據進行取樣,這限制了用戶和任何在該數據上運行的分析算法的全面可視性。結果是對影響客戶的問題的可見度降低,這意味著解決問題所需的時間更長。
動作緩慢:內建於雲原生技術中的無伺服器(Serverless)功能在幾秒鐘內或更短時間內就會被調用。傳統的監控工具無法這麼快地捕捉動作,導致更多的數據丟失。
智能缺失:大多數監控工具並未建立來處理我們今天習慣的數據速率。即使它們收到了一些數據,這些工具也沒有內置的智能,導致過多的警報和不足夠的可操作洞見。
工具過多:如上所述,監控幾乎可以應用於任何數位領域,這意味著有太多的工具需要重疊和整合。這也是另一個錯過的機會。
監控是對系統的持續觀察,以檢測異常行為並發出警報。它涉及確保系統正常運作並在必要時採取糾正措施。
可觀察性是透過查看系統的輸出(指標、日誌和追蹤)來了解系統的內部狀態。它涉及了解系統內部正在發生的事情並預測它未來的行為。
可觀測性與監控的目標不同,可觀測性並不能取代監控,也不能消除監控的需要兩者是互補的。當使用了某個工具,就具備了某種形式的可觀測性。兩者都是為了協助系統在 debugged 更快找到可能的問題,是根據蒐集到的證據來解決其問題而不是靠通靈或是猜測。
監控可以告訴您何時出現問題,要解決已知的未知問題。而可觀察性可以告訴您發生了什麼、為什麼會發生以及如何修復,解決未知的未知問題。
可觀察性實踐者負責人Greg Leffler所說:
“可觀察性是一種心態,使您能夠回答有關整個業務的任何問題。”
當我們對於系統觀察到的越多,就可以理解其複雜的方式,不再需要假設各種系統服務是我們看不到的「黑盒子」。
舉個玩世紀帝國的例子,監控就像是在已經打開的地圖前提下,在覺得危險的位子設立哨塔及哨兵,當有人來攻擊時就會有叮叮叮聲響來提醒玩家派兵防守
可觀測性就是一打開地圖就已經全開,當別的玩家派兵攻打自己的範就可以看到派人的兵種是甚麼及人數,可以做更有效的化解對方玩家的攻擊
推薦 Observability 與 Monitor 不同的影片
以上是今天的分享。下一篇要來探討可觀測性信號(Observability Signals),如果有任何疑問或想法,歡迎留言提出討論 !
Observability vs. monitoring: What’s the difference?